import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 存储购物车中商品的数据
    cartList: []
  },
  actions: {
    addCart(context, payload) {
      
    }
  },
  mutations: {
    // payload是外面传过来的购物车数据
    addCart(state, payload) {
      // let oldProduct = null
      // for(let item of state.cartList) {
      //   if(item.iid === payload.iid) {
      //     oldProduct = item
      //   }
      // }
      
      // 如果iid相等，就把这个对象返回赋值给oldProduct
      let oldProduct = state.cartList.find(item => item.iid === payload.iid)
      
      // 注意：因为对象是引用类型的，所以这里的oldProduct实际上指向的就是cartList中的对象
      if(oldProduct) {
        oldProduct.count += 1
      }else {
        payload.count = 1
        state.cartList.push(payload)
      }
    }
  },
  modules: {
  }
})
